package cn.myframe.util;

import java.math.BigDecimal;

/**
 * @Author: ynz
 * @Date: 2019/3/20/020 8:29
 * @Version 1.0
 */
public class Variance {

    //方差s^2=[(x1-x)^2 +...(xn-x)^2]/n
    public static double Variance(Double[] x) {
        int m=x.length;
        if(m == 0){
            return 0.0;
        }
        double sum=0;
        for(int i=0;i<m;i++){//求和
            sum+=x[i];
        }
        double dAve=sum/m;//求平均值
        double dVar=0;
        for(int i=0;i<m;i++){//求方差
            dVar+=(x[i]-dAve)*(x[i]-dAve);
        }

        BigDecimal b = new BigDecimal(dVar/m);
        return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }





}
